home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-11-08 | 6.7 KB | 225 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: TblCmds.h
- // Release Version: $ 1.0d11 $
- //
- // Author: Mary Boetcher
- //
- // Copyright: © 1993, 1995 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef TBLCMDS_H
- #define TBLCMDS_H
-
- // for CCell
- #ifndef TBLPART_H
- #include "TblPart.h"
- #endif
-
- // ----- Framework Includes -----
-
- #ifndef FWDRCMD_H
- #include "FWDrCmd.h"
- #endif
-
- #ifndef FWEDCMD_H
- #include "FWEdCmd.h"
- #endif
-
- //========================================================================================
- // Forward class declarations
- //========================================================================================
-
- class FW_CLASS_ATTR CTableFrame;
- class FW_CLASS_ATTR CTablePart;
- class FW_CLASS_ATTR FW_CPresentation;
- class FW_CLASS_ATTR CTableSelection;
- class FW_CLASS_ATTR CTableProxy;
- class FW_CLASS_ATTR CTablePublishLink;
- class FW_CLASS_ATTR CTableSubscribeLink;
-
- //========================================================================================
- // class CCellDragCommand
- //========================================================================================
-
- class FW_CLASS_ATTR CCellDragCommand : public FW_CDragCommand
- {
- public:
- CCellDragCommand(Environment* ev,
- CTablePart* itsPart,
- FW_CFrame* frame,
- CTableSelection* selection);
-
- virtual ~ CCellDragCommand();
-
- // --- for Undo/Redo ---
- virtual void UndoIt(Environment *ev); // Override
- virtual void RedoIt(Environment *ev); // Override
- virtual void SaveUndoState(Environment *ev); // Override
- virtual void FreeUndoState(Environment *ev); // Override
-
- private:
- CTablePart* fTablePart;
- CTableSelection* fTableSelection;
- CTableProxy* fSavedProxy; // saved selection for redo
- CCell fDragCell;
- };
-
- //========================================================================================
- // class CCellDropCommand
- //========================================================================================
-
- class FW_CLASS_ATTR CCellDropCommand : public FW_CDropCommand
- {
- public:
- CCellDropCommand(Environment *ev,
- CTablePart* itsPart,
- CTableFrame* frame,
- ODDragItemIterator* dropInfo,
- ODFacet* odFacet,
- const FW_CPoint& dropPoint,
- const CCell& dropCell,
- const CCell& draggedCell);
-
- virtual ~ CCellDropCommand();
-
- // --- FW_CDropCommand overrides
- virtual FW_Boolean DoDrop(Environment *ev,
- ODStorageUnit* dropSU,
- const FW_CPoint& mouseOffset,
- const FW_CPoint& dropPoint,
- FW_Boolean isDropMove);
- virtual FW_Boolean DoDroppedInSameFrame(Environment *ev, ODStorageUnit* dropSU, const FW_CPoint& originPoint, const FW_CPoint& dropPoint);
-
- // --- for Undo/Redo ---
- virtual void UndoIt(Environment *ev); // Override
- virtual void RedoIt(Environment *ev); // Override
- virtual void SaveRedoState(Environment *ev); // Override
- virtual void FreeRedoState(Environment *ev); // Override
-
- private:
- CTablePart* fTablePart;
- CTableFrame* fTableFrame;
- CTableSelection* fTableSelection;
- CCell fDropCell;
- CCell fDraggedCell;
- CTableProxy* fSavedProxy; // saved selection for undo/redo
- };
-
- //========================================================================================
- // CLASS CTableEditCommand
- //========================================================================================
-
- class FW_CLASS_ATTR CTableEditCommand : public FW_CEditCommand
- {
- public:
- FW_DECLARE_CLASS
-
- //----------------------------------------------------------------------------------------
- // Initialization/Destruction
- //
- public:
- CTableEditCommand(Environment* ev,
- ODCommandID id,
- CTablePart* itsPart,
- FW_CFrame* frame,
- CTableSelection* selection);
-
- virtual ~ CTableEditCommand();
-
- //----------------------------------------------------------------------------------------
- // Overrides
- //
- virtual void DoClear(Environment* ev); // Override
- virtual void DoCut(Environment* ev); // Override
-
- virtual void DoPaste(Environment* ev); // Override
-
-
- // --- for Undo/Redo ---
- virtual void UndoIt(Environment *ev); // Override
- virtual void RedoIt(Environment *ev); // Override
- virtual void SaveUndoState(Environment *ev); // Override
- virtual void SaveRedoState(Environment *ev); // Override
- virtual void FreeUndoState(Environment *ev); // Override
- virtual void FreeRedoState(Environment *ev); // Override
-
- //---- Undo PasteAs support ----
- void UndoPasteAs(Environment* ev);
- void RedoPasteAs(Environment* ev);
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- private:
- void SaveSelection(Environment* ev);
- void RemoveSelection(Environment* ev);
- void RestoreSelection(Environment* ev);
- void DeleteSavedProxy(Environment* ev);
-
- //----------------------------------------------------------------------------------------
- // Data Members
- //
- private:
- CTablePart* fTablePart;
- CTableSelection* fTableSelection;
- CTableProxy* fSavedProxy; // saved selection for undo/redo
- CCell fPasteAsCell; // saved cell for Undo PasteAs
- CTableSubscribeLink* fSavedLink; // saved link for Redo PasteAs
- };
-
- //========================================================================================
- // CLASS CBreakLinkSourceCommand - break a source link (undoable)
- //========================================================================================
-
- class FW_CLASS_ATTR CBreakLinkSourceCommand : public FW_CCommand
- {
- public:
- FW_DECLARE_CLASS
-
- CBreakLinkSourceCommand(Environment* ev,
- FW_CFrame* frame,
- CTablePublishLink* linkSource);
-
- virtual ~CBreakLinkSourceCommand();
-
- virtual void DoIt(Environment* ev); // Override
- virtual void UndoIt(Environment* ev); // Override
- virtual void RedoIt(Environment* ev); // Override
-
- virtual void CommitDone(Environment* ev); // Override
-
- protected:
- CTablePublishLink* fLinkSource; // source link to be broken
- };
-
-
- //========================================================================================
- // CLASS CBreakLinkCommand - break a destination link (undoable)
- //========================================================================================
-
- class FW_CLASS_ATTR CBreakLinkCommand : public FW_CCommand
- {
- public:
- FW_DECLARE_CLASS
-
- CBreakLinkCommand(Environment* ev,
- FW_CFrame* frame,
- CTableSubscribeLink* linkDestination);
-
- virtual ~CBreakLinkCommand();
-
- virtual void DoIt(Environment* ev); // Override
- virtual void UndoIt(Environment* ev); // Override
- virtual void RedoIt(Environment* ev); // Override
-
- virtual void CommitDone(Environment* ev); // Override
-
- protected:
- CTableSubscribeLink* fLink; // destination link to be broken
- };
-
-
- #endif
-